/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Modelo;

import Vista.ConexionDireccionServer;
import com.mysql.jdbc.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;

/**
 *
 * @author JOrge Murillo
 */
public class ConexionModelo {
    private transient Connection con;
    ResultSet rs;
    ConfigServer configuracion=new ConfigServer();

	public Connection connect() throws SQLException{//conexion al a base de datos
	   if( !isConnect() ){
                try{
                   try{
                       configuracion=configuracion.leerDat("conexion.dat");//cargamos ultimo host utilizado
                   }catch(Exception exc){
                       configuracion=new ConfigServer();
                   }

                   if(!configuracion.getHost().equals("")){
                      //String driver = "com.mysql.jdbc.Driver";
                      Class.forName("com.mysql.jdbc.Driver").newInstance();

                      String url = "jdbc:mysql://"+ configuracion.getHost() + ":" + configuracion.getPuerto() + "/" + configuracion.getBaseDato();
                      String userName = configuracion.getUsuario();
                      String password = configuracion.getPass();
                      con = (Connection) DriverManager.getConnection(url,userName,password);

                     // con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3307/basedatosmysql","root","");

                   }else{
                       ConexionDireccionServer direccionHost=new ConexionDireccionServer(null, true);
                       direccionHost.setVisible(true);
                   }
                   //Class.forName("com.mysql.jdbc.Driver").newInstance();
                  // con = (Connection) DriverManager.getConnection("jdbc:mysql://5.219.150.174/BDCorona","farit","farit");

                }catch(Exception y){
                  // JOptionPane.showMessageDialog(null, y.toString() , "Error al Tratar de conectar",JOptionPane.DEFAULT_OPTION);
                    if(JOptionPane.showConfirmDialog(null,"No se ha podido establecer la conexión, desea configurar la conexión?")==0){// RESPONDE SI
                        ConexionDireccionServer dialogoConexion=new ConexionDireccionServer(null, true);
                        dialogoConexion.setVisible(true);

                    }else
                        System.exit(0);//Terminamos la ejecucion
                }
            }
           return con;
	}

        /**
         * Devuelve si existe la conexion o no
         * @return Boolean
         */
	public boolean isConnect(){//para saber si esta conectado
	 	if(con==null)
	 	   return false;
 	        else
	 	   return true;
	}

        
        /**
         * Desconectamos de la base de datos
         */
         public void disconnect(){// desconectar a la base de datos
            if(con!=null){
               try{
                   con.close();
               }catch (SQLException ignore){

               }
               finally {
                   con=null;
               }
            }
        }
}
